//+FHEADER /////////////////////////////////////////////////////////////////////////////
// FILE NAME :  code_sx.v
// DEPARTMENT:  N/A
// AUTHOR:DingXU
// AUTHOR'S EMAIL : N/A
// --------------------------------------------------------------------------
// RELEASE HISTORY :
// VERSION DATE AUTHORDESCRIPTION:
// 1.0 2020-05-17  DingXU initial version  
// Added comments in header:
//---------------------------------------------------------------------------
// KEYWORDS :  sx, code
//--------------------------------------------------------------------------
// PURPOSE:   Coding sx
// --------------------------------------------------------------------------
// PARAM NAME RANGE:  N/A
// -----------------------------------------------------------------------
// REUSE ISSUES:
// Reset Strategy : Asynchronous, active low system level reset : 
// Clock Domains : i_clk 
// Critical TiminG: N/A
// Instantiations : no
// Synthesizable : Yes 
//-FHEADER //////////////////////////////////////////////////////////////////////
module code_sx120(

                  i_clk               ,
                  i_rst_n             , 
                  i_code_en           ,
                  i_cnt               ,
                  i_data              ,
						
                  o_data              
                    );
                    
///////////////////////////////////////
//declaration of input & output
///////////////////////////////////////
input            i_clk                ;
input            i_rst_n              ;
input            i_code_en            ;
input    [6:0]   i_cnt                ;
input    [0:95]  i_data               ;

output   [2:0]   o_data               ;

///////////////////////////////////////
//declaration of registers & wires
///////////////////////////////////////
wire     [2:0]   i_data0              ;
wire     [2:0]   i_data1              ;
wire     [2:0]   i_data2              ;
wire     [2:0]   i_data3              ;
wire     [2:0]   i_data4              ;
wire     [2:0]   i_data5              ;
wire     [2:0]   i_data6              ;
wire     [2:0]   i_data7              ;
wire     [2:0]   i_data8              ;
wire     [2:0]   i_data9              ;
wire     [2:0]   i_data10             ;
wire     [2:0]   i_data11             ;
wire     [2:0]   i_data12             ;
wire     [2:0]   i_data13             ;
wire     [2:0]   i_data14             ;
wire     [2:0]   i_data15             ;
wire     [2:0]   i_data16             ;
wire     [2:0]   i_data17             ;
wire     [2:0]   i_data18             ;
wire     [2:0]   i_data19             ;
wire     [2:0]   i_data20             ;
wire     [2:0]   i_data21             ;
wire     [2:0]   i_data22             ;
wire     [2:0]   i_data23             ;
wire     [2:0]   i_data24             ;
wire     [2:0]   i_data25             ;
wire     [2:0]   i_data26             ;
wire     [2:0]   i_data27             ;
wire     [2:0]   i_data28             ;
wire     [2:0]   i_data29             ;
wire     [2:0]   i_data30             ;
wire     [2:0]   i_data31             ;
wire     [1:0]   i_data32             ;
reg      [2:0]   data0                ;
reg      [2:0]   data1                ;
reg      [2:0]   data2                ;
reg      [2:0]   data3                ;
reg      [2:0]   data4                ;
reg      [2:0]   data5                ;
reg      [2:0]   data6                ;
reg      [2:0]   data7                ;
reg      [2:0]   data8                ;
reg      [2:0]   data9                ;
reg      [2:0]   data10               ;
reg      [2:0]   data11               ;
reg      [2:0]   data12               ;
reg      [2:0]   data13               ;
reg      [2:0]   data14               ;
reg      [2:0]   data15               ;
reg      [2:0]   data16               ;
reg      [2:0]   data17               ;
reg      [2:0]   data18               ;
reg      [2:0]   data19               ;
reg      [2:0]   data20               ;
reg      [2:0]   data21               ;
reg      [2:0]   data22               ;
reg      [2:0]   data23               ;
reg      [2:0]   data24               ;
reg      [2:0]   data25               ;
reg      [2:0]   data26               ;
reg      [2:0]   data27               ;
reg      [2:0]   data28               ;
reg      [2:0]   data29               ;
reg      [2:0]   data30               ;
reg      [2:0]   data31               ;
reg      [2:0]   d0_data0             ;
reg      [2:0]   d0_data1             ;
reg      [2:0]   d0_data2             ;
reg      [2:0]   d0_data3             ;
reg      [2:0]   d0_data4             ;
reg      [2:0]   d0_data5             ;
reg      [2:0]   d0_data6             ;
reg      [2:0]   d0_data7             ;
reg      [2:0]   d0_data8             ;
reg      [2:0]   d0_data9             ;
reg      [2:0]   d0_data10            ;
reg      [2:0]   d0_data11            ;
reg      [2:0]   d0_data12            ;
reg      [2:0]   d0_data13            ;
reg      [2:0]   d0_data14            ;
reg      [2:0]   d0_data15            ;
reg      [2:0]   d0_data16            ;
reg      [2:0]   d0_data17            ;
reg      [2:0]   d0_data18            ;
reg      [2:0]   d0_data19            ;
reg      [2:0]   d0_data20            ;
reg      [2:0]   d0_data21            ;
reg      [2:0]   d0_data22            ;
reg      [2:0]   d0_data23            ;
reg      [2:0]   d0_data24            ;
reg      [2:0]   d0_data25            ;
reg      [2:0]   d0_data26            ;
reg      [2:0]   d0_data27            ;
reg      [2:0]   d0_data28            ;
reg      [2:0]   d0_data29            ;
reg      [2:0]   d0_data30            ;
reg      [2:0]   d0_data31            ;
reg      [2:0]   xor0                 ;
reg      [2:0]   xor1                 ;
reg      [2:0]   xor2                 ;
reg      [2:0]   xor3                 ;
reg      [2:0]   xor4                 ;
reg      [2:0]   xor5                 ;
reg      [2:0]   xor6                 ;
reg      [2:0]   xor7                 ;
reg      [2:0]   xor8                 ;
reg      [2:0]   xor9                 ;
reg      [2:0]   xor10                ;
reg      [2:0]   xor11                ;
reg      [2:0]   xor12                ;
reg      [2:0]   xor13                ;
reg      [2:0]   xor14                ;
reg      [2:0]   xor15                ;
reg      [2:0]   d1_xor0              ;
reg      [2:0]   d1_xor1              ;
reg      [2:0]   d1_xor2              ;
reg      [2:0]   d1_xor3              ;
reg      [2:0]   d1_xor4              ;
reg      [2:0]   d1_xor5              ;
reg      [2:0]   d1_xor6              ;
reg      [2:0]   d1_xor7              ;
reg      [2:0]   d1_xor8              ;
reg      [2:0]   d1_xor9              ;
reg      [2:0]   d1_xor10             ;
reg      [2:0]   d1_xor11             ;
reg      [2:0]   d1_xor12             ;
reg      [2:0]   d1_xor13             ;
reg      [2:0]   d1_xor14             ;
reg      [2:0]   d1_xor15             ;
reg      [2:0]   d2_xor0              ;
reg      [2:0]   d2_xor1              ;
reg      [2:0]   d2_xor2              ;
reg      [2:0]   d2_xor3              ;
reg      [2:0]   d2_xor4              ;
reg      [2:0]   d2_xor5              ;
reg      [2:0]   d2_xor6              ;
reg      [2:0]   d2_xor7              ;
reg      [2:0]   d3_xor0              ;
reg      [2:0]   d3_xor1              ;
reg      [2:0]   d3_xor2              ;
reg      [2:0]   d3_xor3              ;
reg      [2:0]   d4_xor0              ;
reg      [2:0]   d4_xor1              ;
reg      [2:0]   d5_xor0              ;
reg      [2:0]   xor0_1               ;
reg      [2:0]   xor2_3               ;
reg      [2:0]   xor4_5               ;
reg      [2:0]   xor6_7               ;
reg      [2:0]   xor8_9               ;
reg      [2:0]   xor10_11             ;
reg      [2:0]   xor12_13             ;
reg      [2:0]   xor14_15             ;
reg      [2:0]   xor0_3               ;
reg      [2:0]   xor4_7               ;
reg      [2:0]   xor8_11              ;
reg      [2:0]   xor12_15             ;
reg      [2:0]   xor0_7               ;
reg      [2:0]   xor8_15              ;
reg      [2:0]   xor0_15              ;
reg      [2:0]   o_data               ;

parameter DATA0  = 1'b0               ; 
///////////////////////////////////////
//            function
///////////////////////////////////////

///////////////////////////////////////
//Multiply the information by 2.
///////////////////////////////////////
function[2:0] mh2;
input[2:0] data;
    case(data)
        3'd0:mh2 = 3'd0;
        3'd1:mh2 = 3'd2;
        3'd2:mh2 = 3'd4;
        3'd3:mh2 = 3'd6;
        3'd4:mh2 = 3'd3;
        3'd5:mh2 = 3'd1;
        3'd6:mh2 = 3'd7;
        3'd7:mh2 = 3'd5;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 3.
/////////////////////////////////////// 
function[2:0] mh3;
input[2:0] data;
    case(data)
        3'd0:mh3 = 3'd0;
        3'd1:mh3 = 3'd3;
        3'd2:mh3 = 3'd6;
        3'd3:mh3 = 3'd5;
        3'd4:mh3 = 3'd7;
        3'd5:mh3 = 3'd4;
        3'd6:mh3 = 3'd1;
        3'd7:mh3 = 3'd2;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 4.
///////////////////////////////////////
function[2:0] mh4;
input[2:0] data;
    case(data)
        3'd0:mh4 = 3'd0;
        3'd1:mh4 = 3'd4;
        3'd2:mh4 = 3'd3;
        3'd3:mh4 = 3'd7;
        3'd4:mh4 = 3'd6;
        3'd5:mh4 = 3'd2;
        3'd6:mh4 = 3'd5;
        3'd7:mh4 = 3'd1;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 5.
///////////////////////////////////////
function[2:0] mh5;
input[2:0] data;
    case(data)
        3'd0:mh5 = 3'd0;
        3'd1:mh5 = 3'd5;
        3'd2:mh5 = 3'd1;
        3'd3:mh5 = 3'd4;
        3'd4:mh5 = 3'd2;
        3'd5:mh5 = 3'd7;
        3'd6:mh5 = 3'd3;
        3'd7:mh5 = 3'd6;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 6.
///////////////////////////////////////
function[2:0] mh6;
input[2:0] data;
    case(data)
        3'd0:mh6 = 3'd0;
        3'd1:mh6 = 3'd6;
        3'd2:mh6 = 3'd7;
        3'd3:mh6 = 3'd1;
        3'd4:mh6 = 3'd5;
        3'd5:mh6 = 3'd3;
        3'd6:mh6 = 3'd2;
        3'd7:mh6 = 3'd4;
    endcase
endfunction

///////////////////////////////////////
//Multiply the information by 7.
/////////////////////////////////////// 
function[2:0] mh7;
input[2:0] data;
    case(data)
        3'd0:mh7 = 3'd0;
        3'd1:mh7 = 3'd7;
        3'd2:mh7 = 3'd5;
        3'd3:mh7 = 3'd2;
        3'd4:mh7 = 3'd1;
        3'd5:mh7 = 3'd6;
        3'd6:mh7 = 3'd4;
        3'd7:mh7 = 3'd3;
    endcase
endfunction

///////////////////////////////////////
//            program 
///////////////////////////////////////
assign i_data0 = i_data[0:2]          ;
assign i_data1 = i_data[3:5]          ;
assign i_data2 = i_data[6:8]          ;
assign i_data3 = i_data[9:11]         ;
assign i_data4 = i_data[12:14]        ;
assign i_data5 = i_data[15:17]        ;
assign i_data6 = i_data[18:20]        ;
assign i_data7 = i_data[21:23]        ;
assign i_data8 = i_data[24:26]        ;
assign i_data9 = i_data[27:29]        ;
assign i_data10 = i_data[30:32]       ;
assign i_data11 = i_data[33:35]       ;
assign i_data12 = i_data[36:38]       ;
assign i_data13 = i_data[39:41]       ;
assign i_data14 = i_data[42:44]       ;
assign i_data15 = i_data[45:47]       ;
assign i_data16 = i_data[48:50]       ;
assign i_data17 = i_data[51:53]       ;
assign i_data18 = i_data[54:56]       ;
assign i_data19 = i_data[57:59]       ;
assign i_data20 = i_data[60:62]       ;
assign i_data21 = i_data[63:65]       ;
assign i_data22 = i_data[66:68]       ;
assign i_data23 = i_data[69:71]       ;
assign i_data24 = i_data[72:74]       ;
assign i_data25 = i_data[75:77]       ;
assign i_data26 = i_data[78:80]       ;
assign i_data27 = i_data[81:83]       ;
assign i_data28 = i_data[84:86]       ;
assign i_data29 = i_data[87:89]       ;
assign i_data30 = i_data[90:92]       ;
assign i_data31 = i_data[93:95]       ;
assign i_data32 = i_data[30:31]       ;

///////////////////////////////////////
//Group each row according to 32 GF8 symbols as a group 
//First-stage pipeline 
///////////////////////////////////////
always@(i_code_en or i_cnt or i_data0 or i_data1 or i_data2 or i_data3 or i_data4 or i_data5 or i_data6 or i_data7 or i_data8 or i_data9 or i_data10 or i_data11 or i_data12 or i_data13 or i_data14 or i_data15 or i_data16 or i_data17 or i_data18 or i_data19 or i_data20 or i_data21 or i_data22 or i_data23 or i_data24 or i_data25 or i_data26 or i_data27 or i_data28 or i_data29 or i_data30 or i_data31 or data0  or data1 or data2 or data3 or data4 or data5 or data6 or data7 or data8 or data9 or data10 or data11 or data12 or data13 or data14 or data15 or data16 or data17 or data18 or data19 or data20 or data21 or data22 or data23 or data24 or data25 or data26 or data27 or data28 or data29 or data30 or data31)
if(i_code_en == 1'b1)begin
case(i_cnt)  
    7'd1:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh2(i_data9) ;
            data10 <= 3'd0         ;
            data11 <= mh6(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh3(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh2(i_data16);
            data17 <= mh6(i_data17);
            data18 <= mh5(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh5(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh3(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh6(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh3(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh2(i_data28);
            data29 <= mh4(i_data29);
            data30 <= i_data30     ;
            data31 <= mh3(i_data31);
        end
    7'd2:begin
            data0  <= 3'd0         ;
            data1  <= i_data1      ;
            data2  <= mh5(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh2(i_data6) ;
            data7  <= mh2(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= mh6(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= 3'd0         ;
            data12 <= mh4(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh3(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh2(i_data20);
            data21 <= i_data21     ;
            data22 <= 3'd0         ;
            data23 <= 3'd0         ;
            data24 <= 3'd0         ;
            data25 <= mh5(i_data25);
            data26 <= i_data26     ;
            data27 <= mh6(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh2(i_data29);
            data30 <= mh3(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd3:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= i_data3      ;
            data4  <= mh7(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= 3'd0         ;
            data11 <= mh2(i_data11);
            data12 <= mh7(i_data12);
            data13 <= i_data13     ;
            data14 <= mh4(i_data14);
            data15 <= mh2(i_data15);
            data16 <= i_data16     ;
            data17 <= mh2(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh7(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh2(i_data23);
            data24 <= mh5(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh6(i_data26);
            data27 <= mh6(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh2(i_data29);
            data30 <= mh4(i_data30);
            data31 <= i_data31     ;
        end
    7'd4:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= mh4(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh3(i_data6) ;
            data7  <= mh2(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh4(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh5(i_data14);
            data15 <= i_data15     ;
            data16 <= mh2(i_data16);
            data17 <= mh4(i_data17);
            data18 <= mh2(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh7(i_data20);
            data21 <= i_data21     ;
            data22 <= 3'd0         ;
            data23 <= i_data23     ;
            data24 <= mh7(i_data24);
            data25 <= mh4(i_data25);
            data26 <= mh2(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh2(i_data28);
            data29 <= i_data29     ;
            data30 <= mh3(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd5:begin
            data0  <= i_data0      ;
            data1  <= mh4(i_data1) ;
            data2  <= i_data2      ;
            data3  <= 3'd0         ;
            data4  <= 3'd0         ;
            data5  <= mh4(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= mh7(i_data7) ;
            data8  <= 3'd0         ;
            data9  <= mh7(i_data9) ;
            data10 <= i_data10     ;
            data11 <= i_data11     ;
            data12 <= mh7(i_data12);
            data13 <= mh3(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh2(i_data15);
            data16 <= i_data16     ;
            data17 <= 3'd0         ;
            data18 <= 3'd0         ;
            data19 <= mh6(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh6(i_data23);
            data24 <= 3'd0         ;
            data25 <= mh5(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh7(i_data27);
            data28 <= i_data28     ;
            data29 <= mh7(i_data29);
            data30 <= mh7(i_data30);
            data31 <= 3'd0         ;
        end
    7'd6:begin
            data0  <= 3'd0         ;
            data1  <= i_data1      ;
            data2  <= mh6(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh6(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh4(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh2(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh2(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh2(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh5(i_data24);
            data25 <= i_data25     ;
            data26 <= mh6(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh6(i_data29);
            data30 <= mh3(i_data30);
            data31 <= 3'd0         ;
        end
    7'd7:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= 3'd0         ;
            data4  <= mh2(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= mh6(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh3(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh3(i_data13);
            data14 <= i_data14     ;
            data15 <= mh5(i_data15);
            data16 <= mh2(i_data16);
            data17 <= mh6(i_data17);
            data18 <= mh5(i_data18);
            data19 <= i_data19     ;
            data20 <= mh4(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh5(i_data22);
            data23 <= 3'd0         ;
            data24 <= i_data24     ;
            data25 <= mh6(i_data25);
            data26 <= mh6(i_data26);
            data27 <= mh6(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh6(i_data30);
            data31 <= i_data31     ;
        end
    7'd8:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= mh4(i_data2) ;
            data3  <= mh3(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh6(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= i_data7      ;
            data8  <= i_data8      ;
            data9  <= mh7(i_data9) ;
            data10 <= mh5(i_data10);
            data11 <= mh6(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh4(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh7(i_data15);
            data16 <= mh6(i_data16);
            data17 <= i_data17     ;
            data18 <= mh2(i_data18);
            data19 <= mh5(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh4(i_data21);
            data22 <= 3'd0         ;
            data23 <= mh3(i_data23);
            data24 <= mh7(i_data24);
            data25 <= mh7(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh4(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh7(i_data29);
            data30 <= 3'd0         ;
            data31 <= i_data31     ;
        end
    7'd9:begin
            data0  <= mh6(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh3(i_data2) ;
            data3  <= mh3(i_data3) ;
            data4  <= 3'd0         ;
            data5  <= mh3(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= mh2(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh7(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh6(i_data17);
            data18 <= i_data18     ;
            data19 <= mh6(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh2(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh2(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh4(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh2(i_data31);
        end
    7'd10:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= i_data2      ;
            data3  <= mh5(i_data3) ;
            data4  <= mh6(i_data4) ;
            data5  <= mh4(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= mh6(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh4(i_data10);
            data11 <= mh2(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh5(i_data13);
            data14 <= mh5(i_data14);
            data15 <= i_data15     ;
            data16 <= 3'd0         ;
            data17 <= 3'd0         ;
            data18 <= mh2(i_data18);
            data19 <= mh3(i_data19);
            data20 <= mh7(i_data20);
            data21 <= i_data21     ;
            data22 <= mh4(i_data22);
            data23 <= mh3(i_data23);
            data24 <= i_data24     ;
            data25 <= i_data25     ;
            data26 <= i_data26     ;
            data27 <= mh2(i_data27);
            data28 <= mh3(i_data28);
            data29 <= mh5(i_data29);
            data30 <= i_data30     ;
            data31 <= mh2(i_data31);
        end
    7'd11:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= mh6(i_data4) ;
            data5  <= mh4(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh5(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh2(i_data13);
            data14 <= mh5(i_data14);
            data15 <= i_data15     ;
            data16 <= mh4(i_data16);
            data17 <= mh6(i_data17);
            data18 <= mh7(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh4(i_data24);
            data25 <= i_data25     ;
            data26 <= mh7(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh3(i_data29);
            data30 <= mh3(i_data30);
            data31 <= i_data31     ;
        end
    7'd12:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= mh5(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh3(i_data11);
            data12 <= mh5(i_data12);
            data13 <= 3'd0         ;
            data14 <= 3'd0         ;
            data15 <= i_data15     ;
            data16 <= i_data16     ;
            data17 <= 3'd0         ;
            data18 <= mh7(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh6(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh3(i_data26);
            data27 <= i_data27     ;
            data28 <= 3'd0         ;
            data29 <= mh4(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh2(i_data31);
        end
    7'd13:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= i_data3      ;
            data4  <= mh3(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh7(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= i_data9      ;
            data10 <= i_data10     ;
            data11 <= i_data11     ;
            data12 <= mh6(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh4(i_data17);
            data18 <= mh6(i_data18);
            data19 <= mh3(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh2(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh4(i_data23);
            data24 <= mh6(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh5(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh3(i_data28);
            data29 <= mh7(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh6(i_data31);
        end
    7'd14:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= i_data3      ;
            data4  <= i_data4      ;
            data5  <= mh2(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= 3'd0         ;
            data9  <= mh7(i_data9) ;
            data10 <= mh3(i_data10);
            data11 <= mh4(i_data11);
            data12 <= mh6(i_data12);
            data13 <= i_data13     ;
            data14 <= mh5(i_data14);
            data15 <= mh6(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh5(i_data17);
            data18 <= i_data18     ;
            data19 <= mh2(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh3(i_data21);
            data22 <= mh6(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh7(i_data25);
            data26 <= i_data26     ;
            data27 <= mh4(i_data27);
            data28 <= mh3(i_data28);
            data29 <= i_data29     ;
            data30 <= mh3(i_data30);
            data31 <= mh2(i_data31);
        end
    7'd15:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh7(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh5(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= i_data9      ;
            data10 <= 3'd0         ;
            data11 <= mh3(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh7(i_data14);
            data15 <= 3'd0         ;
            data16 <= mh6(i_data16);
            data17 <= 3'd0         ;
            data18 <= i_data18     ;
            data19 <= mh4(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh4(i_data21);
            data22 <= 3'd0         ;
            data23 <= 3'd0         ;
            data24 <= i_data24     ;
            data25 <= 3'd0         ;
            data26 <= mh5(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh2(i_data28);
            data29 <= i_data29     ;
            data30 <= mh7(i_data30);
            data31 <= mh6(i_data31);
        end
    7'd16:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= mh6(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= i_data8      ;
            data9  <= mh6(i_data9) ;
            data10 <= mh3(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh3(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh6(i_data17);
            data18 <= mh7(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh2(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh2(i_data23);
            data24 <= mh5(i_data24);
            data25 <= mh6(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh7(i_data27);
            data28 <= 3'd0         ;
            data29 <= i_data29     ;
            data30 <= 3'd0         ;
            data31 <= mh7(i_data31);
        end
    7'd17:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh5(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh7(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh2(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh3(i_data19);
            data20 <= mh3(i_data20);
            data21 <= 3'd0         ;
            data22 <= mh6(i_data22);
            data23 <= mh6(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh3(i_data25);
            data26 <= i_data26     ;
            data27 <= mh6(i_data27);
            data28 <= mh7(i_data28);
            data29 <= mh6(i_data29);
            data30 <= mh7(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd18:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= mh5(i_data3) ;
            data4  <= mh7(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= i_data10     ;
            data11 <= i_data11     ;
            data12 <= mh2(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh7(i_data14);
            data15 <= i_data15     ;
            data16 <= mh7(i_data16);
            data17 <= mh4(i_data17);
            data18 <= i_data18     ;
            data19 <= i_data19     ;
            data20 <= mh4(i_data20);
            data21 <= 3'd0         ;
            data22 <= mh3(i_data22);
            data23 <= mh6(i_data23);
            data24 <= mh5(i_data24);
            data25 <= mh6(i_data25);
            data26 <= mh2(i_data26);
            data27 <= mh5(i_data27);
            data28 <= i_data28     ;
            data29 <= 3'd0         ;
            data30 <= mh7(i_data30);
            data31 <= mh7(i_data31);
        end
    7'd19:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= i_data3      ;
            data4  <= mh4(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh3(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh2(i_data10);
            data11 <= mh3(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh2(i_data13);
            data14 <= i_data14     ;
            data15 <= mh4(i_data15);
            data16 <= mh3(i_data16);
            data17 <= mh6(i_data17);
            data18 <= mh4(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh6(i_data20);
            data21 <= 3'd0         ;
            data22 <= mh2(i_data22);
            data23 <= mh3(i_data23);
            data24 <= i_data24     ;
            data25 <= mh3(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh3(i_data27);
            data28 <= mh7(i_data28);
            data29 <= mh7(i_data29);
            data30 <= mh3(i_data30);
            data31 <= 3'd0         ;
        end
    7'd20:begin
            data0  <= mh2(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh7(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= i_data4      ;
            data5  <= i_data5      ;
            data6  <= mh6(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= mh2(i_data8) ;
            data9  <= mh6(i_data9) ;
            data10 <= mh5(i_data10);
            data11 <= mh2(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh7(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh5(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh2(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh4(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh4(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh4(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh2(i_data26);
            data27 <= mh6(i_data27);
            data28 <= i_data28     ;
            data29 <= mh5(i_data29);
            data30 <= i_data30     ;
            data31 <= mh7(i_data31);
        end
    7'd21:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh4(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= i_data5      ;
            data6  <= i_data6      ;
            data7  <= mh3(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh3(i_data10);
            data11 <= i_data11     ;
            data12 <= mh7(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh6(i_data15);
            data16 <= i_data16     ;
            data17 <= mh2(i_data17);
            data18 <= mh5(i_data18);
            data19 <= 3'd0         ;
            data20 <= i_data20     ;
            data21 <= mh3(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh4(i_data23);
            data24 <= mh2(i_data24);
            data25 <= mh2(i_data25);
            data26 <= i_data26     ;
            data27 <= mh3(i_data27);
            data28 <= mh7(i_data28);
            data29 <= mh2(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd22:begin
            data0  <= mh6(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh2(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= i_data4      ;
            data5  <= mh3(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= i_data7      ;
            data8  <= mh5(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= 3'd0         ;
            data12 <= 3'd0         ;
            data13 <= mh5(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh6(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh2(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh7(i_data29);
            data30 <= 3'd0         ;
            data31 <= 3'd0         ;
        end
    7'd23:begin
            data0  <= 3'd0         ;
            data1  <= i_data1      ;
            data2  <= mh5(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh3(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh6(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh4(i_data10);
            data11 <= mh7(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh7(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh4(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh3(i_data17);
            data18 <= 3'd0         ;
            data19 <= mh7(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh5(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh5(i_data24);
            data25 <= 3'd0         ;
            data26 <= mh6(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh2(i_data28);
            data29 <= mh6(i_data29);
            data30 <= mh3(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd24:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= mh6(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh4(i_data11);
            data12 <= 3'd0         ;
            data13 <= 3'd0         ;
            data14 <= mh3(i_data14);
            data15 <= mh2(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh7(i_data17);
            data18 <= mh7(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh2(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh4(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh5(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh3(i_data28);
            data29 <= mh2(i_data29);
            data30 <= mh4(i_data30);
            data31 <= i_data31     ;
        end
    7'd25:begin
            data0  <= mh3(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh4(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh3(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh4(i_data14);
            data15 <= i_data15     ;
            data16 <= i_data16     ;
            data17 <= mh3(i_data17);
            data18 <= i_data18     ;
            data19 <= mh4(i_data19);
            data20 <= mh5(i_data20);
            data21 <= 3'd0         ;
            data22 <= 3'd0         ;
            data23 <= mh3(i_data23);
            data24 <= mh2(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh2(i_data26);
            data27 <= mh5(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh5(i_data29);
            data30 <= mh7(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd26:begin
            data0  <= mh6(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh3(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= 3'd0         ;
            data5  <= mh2(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh7(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= i_data9      ;
            data10 <= i_data10     ;
            data11 <= i_data11     ;
            data12 <= mh6(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh2(i_data14);
            data15 <= i_data15     ;
            data16 <= 3'd0         ;
            data17 <= i_data17     ;
            data18 <= mh5(i_data18);
            data19 <= mh6(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh6(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh2(i_data23);
            data24 <= i_data24     ;
            data25 <= mh4(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh3(i_data27);
            data28 <= i_data28     ;
            data29 <= mh7(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh3(i_data31);
        end
    7'd27:begin
            data0  <= 3'd0         ;
            data1  <= 3'd0         ;
            data2  <= mh6(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh3(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh5(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= mh3(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh5(i_data15);
            data16 <= 3'd0         ;
            data17 <= mh3(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh4(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh2(i_data23);
            data24 <= mh7(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh5(i_data29);
            data30 <= 3'd0         ;
            data31 <= i_data31     ;
        end
    7'd28:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh6(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh3(i_data6) ;
            data7  <= mh2(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh6(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh6(i_data15);
            data16 <= 3'd0         ;
            data17 <= i_data17     ;
            data18 <= mh6(i_data18);
            data19 <= mh3(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh5(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh4(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh7(i_data26);
            data27 <= i_data27     ;
            data28 <= mh2(i_data28);
            data29 <= 3'd0         ;
            data30 <= mh7(i_data30);
            data31 <= mh2(i_data31);
        end
    7'd29:begin
            data0  <= mh5(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh7(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= i_data7      ;
            data8  <= 3'd0         ;
            data9  <= mh7(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh7(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh3(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh3(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh2(i_data17);
            data18 <= 3'd0         ;
            data19 <= mh4(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh3(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh2(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh6(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh2(i_data28);
            data29 <= mh2(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh2(i_data31);
        end
    7'd30:begin
            data0  <= 3'd0         ;
            data1  <= mh5(i_data1) ;
            data2  <= mh5(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= mh3(i_data10);
            data11 <= mh7(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh6(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh6(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh2(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh5(i_data23);
            data24 <= i_data24     ;
            data25 <= mh2(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh3(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh4(i_data31);
        end
    7'd31:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= i_data3      ;
            data4  <= mh7(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh6(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh2(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh4(i_data14);
            data15 <= i_data15     ;
            data16 <= mh5(i_data16);
            data17 <= mh7(i_data17);
            data18 <= mh6(i_data18);
            data19 <= mh2(i_data19);
            data20 <= mh4(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh7(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh6(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh3(i_data31);
        end
    7'd32:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= 3'd0         ;
            data5  <= i_data5      ;
            data6  <= mh3(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= i_data8      ;
            data9  <= 3'd0         ;
            data10 <= mh5(i_data10);
            data11 <= mh7(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh2(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh6(i_data15);
            data16 <= mh5(i_data16);
            data17 <= 3'd0         ;
            data18 <= mh2(i_data18);
            data19 <= mh2(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh4(i_data21);
            data22 <= i_data22     ;
            data23 <= i_data23     ;
            data24 <= mh5(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh5(i_data26);
            data27 <= i_data27     ;
            data28 <= mh6(i_data28);
            data29 <= mh6(i_data29);
            data30 <= mh5(i_data30);
            data31 <= 3'd0         ;
        end
    7'd33:begin
            data0  <= 3'd0         ;
            data1  <= 3'd0         ;
            data2  <= i_data2      ;
            data3  <= i_data3      ;
            data4  <= mh2(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh7(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh2(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh7(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh7(i_data14);
            data15 <= i_data15     ;
            data16 <= i_data16     ;
            data17 <= i_data17     ;
            data18 <= 3'd0         ;
            data19 <= mh7(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh7(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh7(i_data23);
            data24 <= 3'd0         ;
            data25 <= mh5(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh2(i_data28);
            data29 <= mh7(i_data29);
            data30 <= i_data30     ;
            data31 <= mh7(i_data31);
        end
    7'd34:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= mh3(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh2(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh7(i_data10);
            data11 <= mh7(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh3(i_data13);
            data14 <= mh4(i_data14);
            data15 <= mh2(i_data15);
            data16 <= 3'd0         ;
            data17 <= mh3(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh5(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh3(i_data21);
            data22 <= 3'd0         ;
            data23 <= 3'd0         ;
            data24 <= mh5(i_data24);
            data25 <= 3'd0         ;
            data26 <= mh2(i_data26);
            data27 <= mh2(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh7(i_data29);
            data30 <= mh7(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd35:begin
            data0  <= mh2(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh6(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= mh7(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= i_data7      ;
            data8  <= mh5(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh3(i_data10);
            data11 <= mh4(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh7(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh2(i_data16);
            data17 <= i_data17     ;
            data18 <= 3'd0         ;
            data19 <= mh7(i_data19);
            data20 <= mh3(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh6(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh7(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh5(i_data26);
            data27 <= i_data27     ;
            data28 <= mh5(i_data28);
            data29 <= mh6(i_data29);
            data30 <= i_data30     ;
            data31 <= mh7(i_data31);
        end
    7'd36:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= i_data4      ;
            data5  <= i_data5      ;
            data6  <= mh3(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= mh2(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh4(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh7(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh5(i_data15);
            data16 <= i_data16     ;
            data17 <= mh3(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh5(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh2(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh6(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh5(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh7(i_data31);
        end
    7'd37:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh7(i_data5) ;
            data6  <= mh3(i_data6) ;
            data7  <= i_data7      ;
            data8  <= mh5(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= 3'd0         ;
            data11 <= i_data11     ;
            data12 <= mh5(i_data12);
            data13 <= mh6(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh4(i_data15);
            data16 <= i_data16     ;
            data17 <= mh6(i_data17);
            data18 <= 3'd0         ;
            data19 <= mh6(i_data19);
            data20 <= i_data20     ;
            data21 <= mh2(i_data21);
            data22 <= mh5(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh6(i_data25);
            data26 <= mh4(i_data26);
            data27 <= i_data27     ;
            data28 <= i_data28     ;
            data29 <= mh7(i_data29);
            data30 <= mh4(i_data30);
            data31 <= mh2(i_data31);
        end
    7'd38:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= i_data3      ;
            data4  <= mh4(i_data4) ;
            data5  <= 3'd0         ;
            data6  <= mh2(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= 3'd0         ;
            data9  <= mh5(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh3(i_data16);
            data17 <= mh3(i_data17);
            data18 <= i_data18     ;
            data19 <= mh5(i_data19);
            data20 <= mh3(i_data20);
            data21 <= mh7(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh5(i_data24);
            data25 <= mh4(i_data25);
            data26 <= mh3(i_data26);
            data27 <= mh6(i_data27);
            data28 <= mh2(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh3(i_data30);
            data31 <= 3'd0         ;
        end
    7'd39:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= mh5(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh3(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= 3'd0         ;
            data8  <= i_data8      ;
            data9  <= mh5(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh3(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh5(i_data14);
            data15 <= mh2(i_data15);
            data16 <= mh2(i_data16);
            data17 <= i_data17     ;
            data18 <= mh2(i_data18);
            data19 <= mh3(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh7(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh6(i_data23);
            data24 <= mh4(i_data24);
            data25 <= 3'd0         ;
            data26 <= mh5(i_data26);
            data27 <= mh7(i_data27);
            data28 <= 3'd0         ;
            data29 <= mh3(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh4(i_data31);
        end
    7'd40:begin
            data0  <= 3'd0         ;
            data1  <= mh4(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= i_data3      ;
            data4  <= i_data4      ;
            data5  <= mh3(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh7(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh4(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh4(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh4(i_data15);
            data16 <= mh7(i_data16);
            data17 <= i_data17     ;
            data18 <= i_data18     ;
            data19 <= i_data19     ;
            data20 <= mh7(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh6(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh6(i_data28);
            data29 <= mh7(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd41:begin
            data0  <= mh3(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh5(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= mh2(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh5(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh2(i_data18);
            data19 <= mh5(i_data19);
            data20 <= i_data20     ;
            data21 <= mh6(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh4(i_data25);
            data26 <= 3'd0         ;
            data27 <= 3'd0         ;
            data28 <= mh2(i_data28);
            data29 <= 3'd0         ;
            data30 <= mh3(i_data30);
            data31 <= mh6(i_data31);
        end
    7'd42:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= i_data2      ;
            data3  <= 3'd0         ;
            data4  <= i_data4      ;
            data5  <= mh5(i_data5) ;
            data6  <= i_data6      ;
            data7  <= 3'd0         ;
            data8  <= i_data8      ;
            data9  <= mh2(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh2(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh3(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh5(i_data15);
            data16 <= 3'd0         ;
            data17 <= mh2(i_data17);
            data18 <= i_data18     ;
            data19 <= mh4(i_data19);
            data20 <= mh2(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh4(i_data24);
            data25 <= 3'd0         ;
            data26 <= mh2(i_data26);
            data27 <= mh6(i_data27);
            data28 <= 3'd0         ;
            data29 <= i_data29     ;
            data30 <= mh6(i_data30);
            data31 <= 3'd0         ;
        end
    7'd43:begin
            data0  <= i_data0      ;
            data1  <= mh7(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= 3'd0         ;
            data5  <= i_data5      ;
            data6  <= mh5(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= i_data10     ;
            data11 <= mh3(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh4(i_data13);
            data14 <= mh2(i_data14);
            data15 <= 3'd0         ;
            data16 <= i_data16     ;
            data17 <= mh5(i_data17);
            data18 <= i_data18     ;
            data19 <= 3'd0         ;
            data20 <= mh3(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh6(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh5(i_data24);
            data25 <= i_data25     ;
            data26 <= i_data26     ;
            data27 <= mh5(i_data27);
            data28 <= mh3(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh3(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd44:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= mh3(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= 3'd0         ;
            data9  <= mh4(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh3(i_data11);
            data12 <= mh3(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh6(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh6(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh2(i_data18);
            data19 <= mh3(i_data19);
            data20 <= mh5(i_data20);
            data21 <= i_data21     ;
            data22 <= i_data22     ;
            data23 <= mh3(i_data23);
            data24 <= i_data24     ;
            data25 <= mh5(i_data25);
            data26 <= i_data26     ;
            data27 <= mh7(i_data27);
            data28 <= mh2(i_data28);
            data29 <= mh5(i_data29);
            data30 <= mh7(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd45:begin
            data0  <= i_data0      ;
            data1  <= i_data1      ;
            data2  <= mh4(i_data2) ;
            data3  <= mh3(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh2(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh2(i_data12);
            data13 <= i_data13     ;
            data14 <= mh6(i_data14);
            data15 <= mh6(i_data15);
            data16 <= i_data16     ;
            data17 <= mh5(i_data17);
            data18 <= mh7(i_data18);
            data19 <= i_data19     ;
            data20 <= mh5(i_data20);
            data21 <= mh4(i_data21);
            data22 <= i_data22     ;
            data23 <= mh7(i_data23);
            data24 <= mh6(i_data24);
            data25 <= 3'd0         ;
            data26 <= mh3(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh3(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh7(i_data31);
        end
    7'd46:begin
            data0  <= mh6(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh5(i_data2) ;
            data3  <= i_data3      ;
            data4  <= mh2(i_data4) ;
            data5  <= mh4(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= i_data7      ;
            data8  <= i_data8      ;
            data9  <= mh5(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh4(i_data11);
            data12 <= mh6(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh7(i_data14);
            data15 <= 3'd0         ;
            data16 <= i_data16     ;
            data17 <= mh6(i_data17);
            data18 <= mh4(i_data18);
            data19 <= mh3(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh2(i_data21);
            data22 <= mh6(i_data22);
            data23 <= i_data23     ;
            data24 <= mh6(i_data24);
            data25 <= mh5(i_data25);
            data26 <= i_data26     ;
            data27 <= i_data27     ;
            data28 <= mh4(i_data28);
            data29 <= mh6(i_data29);
            data30 <= mh2(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd47:begin
            data0  <= mh7(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= 3'd0         ;
            data3  <= mh4(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= i_data7      ;
            data8  <= mh2(i_data8) ;
            data9  <= mh6(i_data9) ;
            data10 <= mh5(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh3(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh4(i_data14);
            data15 <= mh3(i_data15);
            data16 <= i_data16     ;
            data17 <= mh3(i_data17);
            data18 <= mh6(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh3(i_data21);
            data22 <= i_data22     ;
            data23 <= i_data23     ;
            data24 <= i_data24     ;
            data25 <= mh4(i_data25);
            data26 <= mh3(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh2(i_data28);
            data29 <= 3'd0         ;
            data30 <= mh4(i_data30);
            data31 <= mh4(i_data31);
        end
    7'd48:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh2(i_data17);
            data18 <= mh4(i_data18);
            data19 <= mh4(i_data19);
            data20 <= mh4(i_data20);
            data21 <= mh2(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh3(i_data23);
            data24 <= 3'd0         ;
            data25 <= i_data25     ;
            data26 <= mh3(i_data26);
            data27 <= mh7(i_data27);
            data28 <= 3'd0         ;
            data29 <= mh2(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd49:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= 3'd0         ;
            data9  <= mh4(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh4(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh2(i_data16);
            data17 <= mh2(i_data17);
            data18 <= i_data18     ;
            data19 <= mh6(i_data19);
            data20 <= mh2(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh2(i_data22);
            data23 <= i_data23     ;
            data24 <= i_data24     ;
            data25 <= mh6(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh3(i_data27);
            data28 <= i_data28     ;
            data29 <= mh2(i_data29);
            data30 <= mh2(i_data30);
            data31 <= mh4(i_data31);
        end
    7'd50:begin
            data0  <= mh5(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= mh3(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh6(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= mh5(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= 3'd0         ;
            data11 <= mh3(i_data11);
            data12 <= mh3(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh7(i_data15);
            data16 <= 3'd0         ;
            data17 <= mh4(i_data17);
            data18 <= mh2(i_data18);
            data19 <= mh2(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh7(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh5(i_data25);
            data26 <= i_data26     ;
            data27 <= mh2(i_data27);
            data28 <= mh3(i_data28);
            data29 <= mh3(i_data29);
            data30 <= i_data30     ;
            data31 <= mh3(i_data31);
        end
    7'd51:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh4(i_data2) ;
            data3  <= i_data3      ;
            data4  <= mh7(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= i_data10     ;
            data11 <= 3'd0         ;
            data12 <= 3'd0         ;
            data13 <= mh6(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh3(i_data16);
            data17 <= mh2(i_data17);
            data18 <= mh7(i_data18);
            data19 <= mh5(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh7(i_data28);
            data29 <= i_data29     ;
            data30 <= mh4(i_data30);
            data31 <= i_data31     ;
        end
    7'd52:begin
            data0  <= 3'd0         ;
            data1  <= i_data1      ;
            data2  <= mh6(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= i_data7      ;
            data8  <= mh4(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= 3'd0         ;
            data11 <= 3'd0         ;
            data12 <= mh2(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh4(i_data14);
            data15 <= 3'd0         ;
            data16 <= 3'd0         ;
            data17 <= mh2(i_data17);
            data18 <= mh3(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh7(i_data20);
            data21 <= 3'd0         ;
            data22 <= mh4(i_data22);
            data23 <= mh5(i_data23);
            data24 <= i_data24     ;
            data25 <= mh7(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh3(i_data27);
            data28 <= mh3(i_data28);
            data29 <= mh5(i_data29);
            data30 <= i_data30     ;
            data31 <= 3'd0         ;
        end
    7'd53:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= i_data2      ;
            data3  <= mh3(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= mh3(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh2(i_data9) ;
            data10 <= mh5(i_data10);
            data11 <= mh3(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh4(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh3(i_data15);
            data16 <= mh6(i_data16);
            data17 <= mh5(i_data17);
            data18 <= i_data18     ;
            data19 <= mh6(i_data19);
            data20 <= mh3(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh4(i_data23);
            data24 <= mh6(i_data24);
            data25 <= i_data25     ;
            data26 <= i_data26     ;
            data27 <= mh7(i_data27);
            data28 <= mh2(i_data28);
            data29 <= i_data29     ;
            data30 <= mh5(i_data30);
            data31 <= mh4(i_data31);
        end
    7'd54:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= 3'd0         ;
            data11 <= mh7(i_data11);
            data12 <= mh6(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh3(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh2(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh3(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh6(i_data23);
            data24 <= i_data24     ;
            data25 <= mh5(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh7(i_data27);
            data28 <= mh5(i_data28);
            data29 <= mh7(i_data29);
            data30 <= mh6(i_data30);
            data31 <= i_data31     ;
        end
    7'd55:begin
            data0  <= mh3(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh3(i_data2) ;
            data3  <= mh3(i_data3) ;
            data4  <= mh4(i_data4) ;
            data5  <= mh4(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh3(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh3(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh4(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh6(i_data16);
            data17 <= mh4(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh4(i_data19);
            data20 <= i_data20     ;
            data21 <= mh4(i_data21);
            data22 <= 3'd0         ;
            data23 <= i_data23     ;
            data24 <= mh4(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh4(i_data27);
            data28 <= i_data28     ;
            data29 <= i_data29     ;
            data30 <= mh5(i_data30);
            data31 <= i_data31     ;
        end
    7'd56:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh5(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= mh3(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= mh3(i_data8) ;
            data9  <= mh6(i_data9) ;
            data10 <= mh5(i_data10);
            data11 <= mh3(i_data11);
            data12 <= mh2(i_data12);
            data13 <= mh4(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh5(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh5(i_data20);
            data21 <= mh4(i_data21);
            data22 <= 3'd0         ;
            data23 <= mh5(i_data23);
            data24 <= mh7(i_data24);
            data25 <= i_data25     ;
            data26 <= mh6(i_data26);
            data27 <= mh3(i_data27);
            data28 <= mh3(i_data28);
            data29 <= mh6(i_data29);
            data30 <= i_data30     ;
            data31 <= mh3(i_data31);
        end
    7'd57:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= 3'd0         ;
            data5  <= mh6(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh6(i_data7) ;
            data8  <= i_data8      ;
            data9  <= mh3(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= i_data11     ;
            data12 <= mh5(i_data12);
            data13 <= mh3(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh3(i_data15);
            data16 <= i_data16     ;
            data17 <= 3'd0         ;
            data18 <= mh5(i_data18);
            data19 <= mh5(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh4(i_data23);
            data24 <= mh4(i_data24);
            data25 <= i_data25     ;
            data26 <= mh4(i_data26);
            data27 <= mh2(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh6(i_data30);
            data31 <= mh7(i_data31);
        end
    7'd58:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= mh3(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh2(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= mh7(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh2(i_data14);
            data15 <= mh6(i_data15);
            data16 <= mh7(i_data16);
            data17 <= 3'd0         ;
            data18 <= mh5(i_data18);
            data19 <= i_data19     ;
            data20 <= 3'd0         ;
            data21 <= mh5(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh3(i_data23);
            data24 <= 3'd0         ;
            data25 <= mh3(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh4(i_data27);
            data28 <= i_data28     ;
            data29 <= i_data29     ;
            data30 <= mh5(i_data30);
            data31 <= i_data31     ;
        end
    7'd59:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= mh3(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh6(i_data13);
            data14 <= mh4(i_data14);
            data15 <= mh3(i_data15);
            data16 <= 3'd0         ;
            data17 <= mh6(i_data17);
            data18 <= mh6(i_data18);
            data19 <= mh2(i_data19);
            data20 <= mh2(i_data20);
            data21 <= mh3(i_data21);
            data22 <= mh6(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh6(i_data27);
            data28 <= mh7(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh5(i_data30);
            data31 <= 3'd0         ;
        end
    7'd60:begin
            data0  <= 3'd0         ;
            data1  <= mh6(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh6(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh3(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= i_data11     ;
            data12 <= mh5(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh5(i_data14);
            data15 <= mh4(i_data15);
            data16 <= mh7(i_data16);
            data17 <= 3'd0         ;
            data18 <= mh3(i_data18);
            data19 <= mh5(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh7(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh3(i_data26);
            data27 <= mh5(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh7(i_data29);
            data30 <= mh6(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd61:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= i_data2      ;
            data3  <= 3'd0         ;
            data4  <= mh7(i_data4) ;
            data5  <= mh7(i_data5) ;
            data6  <= mh2(i_data6) ;
            data7  <= i_data7      ;
            data8  <= mh7(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh2(i_data10);
            data11 <= mh3(i_data11);
            data12 <= i_data12     ;
            data13 <= mh5(i_data13);
            data14 <= i_data14     ;
            data15 <= 3'd0         ;
            data16 <= mh6(i_data16);
            data17 <= mh7(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh4(i_data19);
            data20 <= mh4(i_data20);
            data21 <= i_data21     ;
            data22 <= mh6(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh3(i_data24);
            data25 <= i_data25     ;
            data26 <= mh6(i_data26);
            data27 <= mh5(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh4(i_data29);
            data30 <= i_data30     ;
            data31 <= mh5(i_data31);
        end
    7'd62:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= 3'd0         ;
            data6  <= mh3(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= mh7(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh6(i_data10);
            data11 <= i_data11     ;
            data12 <= mh7(i_data12);
            data13 <= mh2(i_data13);
            data14 <= i_data14     ;
            data15 <= mh5(i_data15);
            data16 <= mh4(i_data16);
            data17 <= i_data17     ;
            data18 <= 3'd0         ;
            data19 <= mh2(i_data19);
            data20 <= mh3(i_data20);
            data21 <= i_data21     ;
            data22 <= mh6(i_data22);
            data23 <= mh6(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh5(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh3(i_data31);
        end
    7'd63:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh3(i_data4) ;
            data5  <= 3'd0         ;
            data6  <= mh5(i_data6) ;
            data7  <= mh7(i_data7) ;
            data8  <= i_data8      ;
            data9  <= 3'd0         ;
            data10 <= mh4(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh3(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh6(i_data15);
            data16 <= mh2(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh5(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh6(i_data22);
            data23 <= 3'd0         ;
            data24 <= 3'd0         ;
            data25 <= mh3(i_data25);
            data26 <= i_data26     ;
            data27 <= mh4(i_data27);
            data28 <= mh6(i_data28);
            data29 <= mh2(i_data29);
            data30 <= mh2(i_data30);
            data31 <= 3'd0         ;
        end
    7'd64:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh3(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh4(i_data5) ;
            data6  <= mh2(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= 3'd0         ;
            data9  <= mh6(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh4(i_data12);
            data13 <= mh7(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh3(i_data15);
            data16 <= i_data16     ;
            data17 <= mh6(i_data17);
            data18 <= mh5(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh2(i_data20);
            data21 <= mh7(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh6(i_data24);
            data25 <= mh6(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh6(i_data27);
            data28 <= i_data28     ;
            data29 <= i_data29     ;
            data30 <= mh4(i_data30);
            data31 <= 3'd0         ;
        end
    7'd65:begin
            data0  <= mh5(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= i_data2      ;
            data3  <= mh2(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh3(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh6(i_data10);
            data11 <= mh4(i_data11);
            data12 <= 3'd0         ;
            data13 <= mh3(i_data13);
            data14 <= mh4(i_data14);
            data15 <= mh2(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh3(i_data17);
            data18 <= i_data18     ;
            data19 <= mh5(i_data19);
            data20 <= mh7(i_data20);
            data21 <= 3'd0         ;
            data22 <= mh2(i_data22);
            data23 <= i_data23     ;
            data24 <= mh2(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh3(i_data26);
            data27 <= mh3(i_data27);
            data28 <= i_data28     ;
            data29 <= mh4(i_data29);
            data30 <= mh3(i_data30);
            data31 <= mh7(i_data31);
        end
    7'd66:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= mh7(i_data4) ;
            data5  <= 3'd0         ;
            data6  <= mh7(i_data6) ;
            data7  <= mh2(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh5(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh4(i_data12);
            data13 <= i_data13     ;
            data14 <= 3'd0         ;
            data15 <= 3'd0         ;
            data16 <= mh5(i_data16);
            data17 <= i_data17     ;
            data18 <= mh4(i_data18);
            data19 <= mh4(i_data19);
            data20 <= mh4(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh2(i_data22);
            data23 <= mh7(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh6(i_data26);
            data27 <= mh2(i_data27);
            data28 <= mh4(i_data28);
            data29 <= i_data29     ;
            data30 <= mh4(i_data30);
            data31 <= mh4(i_data31);
        end
    7'd67:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh5(i_data5) ;
            data6  <= mh5(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh2(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh2(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh5(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh6(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh2(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh3(i_data20);
            data21 <= mh6(i_data21);
            data22 <= i_data22     ;
            data23 <= i_data23     ;
            data24 <= mh2(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh3(i_data26);
            data27 <= i_data27     ;
            data28 <= mh3(i_data28);
            data29 <= 3'd0         ;
            data30 <= mh7(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd68:begin
            data0  <= mh2(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh6(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= 3'd0         ;
            data5  <= mh7(i_data5) ;
            data6  <= mh3(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh7(i_data10);
            data11 <= mh3(i_data11);
            data12 <= i_data12     ;
            data13 <= mh2(i_data13);
            data14 <= mh4(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh2(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh4(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh4(i_data23);
            data24 <= mh2(i_data24);
            data25 <= mh5(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh4(i_data27);
            data28 <= mh2(i_data28);
            data29 <= mh3(i_data29);
            data30 <= mh2(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd69:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh5(i_data2) ;
            data3  <= mh5(i_data3) ;
            data4  <= mh3(i_data4) ;
            data5  <= 3'd0         ;
            data6  <= mh5(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh7(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh7(i_data10);
            data11 <= i_data11     ;
            data12 <= mh2(i_data12);
            data13 <= mh6(i_data13);
            data14 <= i_data14     ;
            data15 <= mh2(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh3(i_data17);
            data18 <= i_data18     ;
            data19 <= mh2(i_data19);
            data20 <= mh6(i_data20);
            data21 <= mh6(i_data21);
            data22 <= i_data22     ;
            data23 <= 3'd0         ;
            data24 <= mh3(i_data24);
            data25 <= mh5(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh5(i_data27);
            data28 <= mh3(i_data28);
            data29 <= i_data29     ;
            data30 <= mh3(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd70:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= mh2(i_data2) ;
            data3  <= mh3(i_data3) ;
            data4  <= mh6(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh2(i_data6) ;
            data7  <= mh2(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh7(i_data10);
            data11 <= mh2(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh6(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh7(i_data17);
            data18 <= mh7(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh4(i_data20);
            data21 <= 3'd0         ;
            data22 <= 3'd0         ;
            data23 <= mh3(i_data23);
            data24 <= mh6(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh3(i_data26);
            data27 <= 3'd0         ;
            data28 <= 3'd0         ;
            data29 <= mh4(i_data29);
            data30 <= i_data30     ;
            data31 <= mh3(i_data31);
        end
    7'd71:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh4(i_data1) ;
            data2  <= i_data2      ;
            data3  <= 3'd0         ;
            data4  <= mh3(i_data4) ;
            data5  <= i_data5      ;
            data6  <= mh4(i_data6) ;
            data7  <= mh6(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= i_data9      ;
            data10 <= 3'd0         ;
            data11 <= mh5(i_data11);
            data12 <= mh6(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh6(i_data14);
            data15 <= mh3(i_data15);
            data16 <= mh6(i_data16);
            data17 <= mh2(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh2(i_data19);
            data20 <= mh6(i_data20);
            data21 <= i_data21     ;
            data22 <= mh3(i_data22);
            data23 <= mh2(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh4(i_data25);
            data26 <= mh3(i_data26);
            data27 <= i_data27     ;
            data28 <= mh6(i_data28);
            data29 <= mh3(i_data29);
            data30 <= mh3(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd72:begin
            data0  <= mh4(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= i_data2      ;
            data3  <= mh6(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= mh7(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= mh2(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh3(i_data11);
            data12 <= mh5(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh3(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh3(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh2(i_data27);
            data28 <= i_data28     ;
            data29 <= mh5(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh6(i_data31);
        end
    7'd73:begin
            data0  <= mh3(i_data0) ;
            data1  <= 3'd0         ;
            data2  <= i_data2      ;
            data3  <= mh5(i_data3) ;
            data4  <= i_data4      ;
            data5  <= 3'd0         ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh4(i_data10);
            data11 <= mh6(i_data11);
            data12 <= mh6(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh3(i_data14);
            data15 <= i_data15     ;
            data16 <= mh4(i_data16);
            data17 <= mh2(i_data17);
            data18 <= 3'd0         ;
            data19 <= mh4(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh4(i_data21);
            data22 <= mh5(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh7(i_data24);
            data25 <= mh5(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh5(i_data27);
            data28 <= mh3(i_data28);
            data29 <= i_data29     ;
            data30 <= mh3(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd74:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh5(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= i_data3      ;
            data4  <= mh2(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= 3'd0         ;
            data7  <= mh6(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= mh2(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh6(i_data12);
            data13 <= mh5(i_data13);
            data14 <= mh4(i_data14);
            data15 <= 3'd0         ;
            data16 <= mh2(i_data16);
            data17 <= 3'd0         ;
            data18 <= mh2(i_data18);
            data19 <= 3'd0         ;
            data20 <= i_data20     ;
            data21 <= mh5(i_data21);
            data22 <= 3'd0         ;
            data23 <= mh3(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh2(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh4(i_data27);
            data28 <= i_data28     ;
            data29 <= mh5(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh2(i_data31);
        end
    7'd75:begin
            data0  <= 3'd0         ;
            data1  <= mh2(i_data1) ;
            data2  <= 3'd0         ;
            data3  <= mh7(i_data3) ;
            data4  <= mh2(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh5(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh3(i_data9) ;
            data10 <= 3'd0         ;
            data11 <= mh6(i_data11);
            data12 <= i_data12     ;
            data13 <= mh6(i_data13);
            data14 <= 3'd0         ;
            data15 <= 3'd0         ;
            data16 <= mh6(i_data16);
            data17 <= mh2(i_data17);
            data18 <= mh2(i_data18);
            data19 <= mh6(i_data19);
            data20 <= mh4(i_data20);
            data21 <= mh4(i_data21);
            data22 <= i_data22     ;
            data23 <= mh5(i_data23);
            data24 <= mh5(i_data24);
            data25 <= mh4(i_data25);
            data26 <= mh2(i_data26);
            data27 <= 3'd0         ;
            data28 <= mh2(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd76:begin
            data0  <= mh7(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= mh7(i_data4) ;
            data5  <= mh3(i_data5) ;
            data6  <= mh7(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= 3'd0         ;
            data9  <= mh4(i_data9) ;
            data10 <= mh5(i_data10);
            data11 <= mh4(i_data11);
            data12 <= i_data12     ;
            data13 <= mh7(i_data13);
            data14 <= mh3(i_data14);
            data15 <= mh6(i_data15);
            data16 <= mh7(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh4(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh6(i_data21);
            data22 <= i_data22     ;
            data23 <= mh3(i_data23);
            data24 <= i_data24     ;
            data25 <= mh2(i_data25);
            data26 <= mh7(i_data26);
            data27 <= mh6(i_data27);
            data28 <= i_data28     ;
            data29 <= mh6(i_data29);
            data30 <= mh5(i_data30);
            data31 <= mh5(i_data31);
        end
    7'd77:begin
            data0  <= 3'd0         ;
            data1  <= mh6(i_data1) ;
            data2  <= mh7(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= mh4(i_data4) ;
            data5  <= mh4(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh4(i_data7) ;
            data8  <= mh3(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh3(i_data11);
            data12 <= mh5(i_data12);
            data13 <= mh2(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh6(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh4(i_data17);
            data18 <= mh7(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh6(i_data21);
            data22 <= mh3(i_data22);
            data23 <= mh6(i_data23);
            data24 <= i_data24     ;
            data25 <= mh5(i_data25);
            data26 <= 3'd0         ;
            data27 <= mh4(i_data27);
            data28 <= i_data28     ;
            data29 <= mh2(i_data29);
            data30 <= mh4(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd78:begin
            data0  <= mh5(i_data0) ;
            data1  <= i_data1      ;
            data2  <= 3'd0         ;
            data3  <= mh3(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh6(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= i_data11     ;
            data12 <= i_data12     ;
            data13 <= mh4(i_data13);
            data14 <= 3'd0         ;
            data15 <= mh6(i_data15);
            data16 <= mh3(i_data16);
            data17 <= 3'd0         ;
            data18 <= mh4(i_data18);
            data19 <= mh3(i_data19);
            data20 <= mh3(i_data20);
            data21 <= mh5(i_data21);
            data22 <= i_data22     ;
            data23 <= 3'd0         ;
            data24 <= mh6(i_data24);
            data25 <= mh2(i_data25);
            data26 <= mh2(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh7(i_data28);
            data29 <= mh4(i_data29);
            data30 <= mh7(i_data30);
            data31 <= mh2(i_data31);
        end
    7'd79:begin
            data0  <= mh7(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh7(i_data2) ;
            data3  <= mh2(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh5(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= mh6(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= i_data10     ;
            data11 <= mh4(i_data11);
            data12 <= i_data12     ;
            data13 <= mh7(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh4(i_data16);
            data17 <= i_data17     ;
            data18 <= 3'd0         ;
            data19 <= mh5(i_data19);
            data20 <= 3'd0         ;
            data21 <= mh2(i_data21);
            data22 <= mh3(i_data22);
            data23 <= 3'd0         ;
            data24 <= mh3(i_data24);
            data25 <= 3'd0         ;
            data26 <= i_data26     ;
            data27 <= i_data27     ;
            data28 <= mh7(i_data28);
            data29 <= i_data29     ;
            data30 <= mh5(i_data30);
            data31 <= mh3(i_data31);
        end
    7'd80:begin
            data0  <= mh5(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh6(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= i_data4      ;
            data5  <= mh5(i_data5) ;
            data6  <= mh4(i_data6) ;
            data7  <= mh3(i_data7) ;
            data8  <= mh2(i_data8) ;
            data9  <= mh4(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh5(i_data11);
            data12 <= i_data12     ;
            data13 <= 3'd0         ;
            data14 <= mh5(i_data14);
            data15 <= mh2(i_data15);
            data16 <= mh4(i_data16);
            data17 <= mh5(i_data17);
            data18 <= mh4(i_data18);
            data19 <= 3'd0         ;
            data20 <= mh6(i_data20);
            data21 <= mh2(i_data21);
            data22 <= 3'd0         ;
            data23 <= mh6(i_data23);
            data24 <= mh4(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh7(i_data26);
            data27 <= i_data27     ;
            data28 <= mh4(i_data28);
            data29 <= i_data29     ;
            data30 <= i_data30     ;
            data31 <= i_data31     ;
        end
    7'd81:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= mh5(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= mh3(i_data4) ;
            data5  <= i_data5      ;
            data6  <= 3'd0         ;
            data7  <= mh2(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh4(i_data10);
            data11 <= i_data11     ;
            data12 <= mh6(i_data12);
            data13 <= i_data13     ;
            data14 <= mh4(i_data14);
            data15 <= i_data15     ;
            data16 <= mh7(i_data16);
            data17 <= 3'd0         ;
            data18 <= mh2(i_data18);
            data19 <= mh7(i_data19);
            data20 <= mh7(i_data20);
            data21 <= mh5(i_data21);
            data22 <= mh6(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh3(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh3(i_data26);
            data27 <= mh4(i_data27);
            data28 <= i_data28     ;
            data29 <= mh2(i_data29);
            data30 <= mh4(i_data30);
            data31 <= mh4(i_data31);
        end
    7'd82:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh7(i_data1) ;
            data2  <= i_data2      ;
            data3  <= mh5(i_data3) ;
            data4  <= mh7(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= 3'd0         ;
            data8  <= 3'd0         ;
            data9  <= mh3(i_data9) ;
            data10 <= mh7(i_data10);
            data11 <= mh4(i_data11);
            data12 <= mh5(i_data12);
            data13 <= 3'd0         ;
            data14 <= mh4(i_data14);
            data15 <= mh7(i_data15);
            data16 <= mh3(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh3(i_data18);
            data19 <= i_data19     ;
            data20 <= i_data20     ;
            data21 <= mh3(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh6(i_data23);
            data24 <= i_data24     ;
            data25 <= mh4(i_data25);
            data26 <= mh4(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh3(i_data28);
            data29 <= mh5(i_data29);
            data30 <= mh7(i_data30);
            data31 <= mh2(i_data31);
        end
    7'd83:begin
            data0  <= mh3(i_data0) ;
            data1  <= i_data1      ;
            data2  <= mh5(i_data2) ;
            data3  <= 3'd0         ;
            data4  <= mh2(i_data4) ;
            data5  <= mh2(i_data5) ;
            data6  <= mh6(i_data6) ;
            data7  <= i_data7      ;
            data8  <= mh3(i_data8) ;
            data9  <= 3'd0         ;
            data10 <= mh2(i_data10);
            data11 <= mh3(i_data11);
            data12 <= mh7(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh5(i_data14);
            data15 <= mh4(i_data15);
            data16 <= i_data16     ;
            data17 <= mh2(i_data17);
            data18 <= mh5(i_data18);
            data19 <= mh4(i_data19);
            data20 <= mh2(i_data20);
            data21 <= mh4(i_data21);
            data22 <= mh4(i_data22);
            data23 <= mh7(i_data23);
            data24 <= i_data24     ;
            data25 <= 3'd0         ;
            data26 <= mh2(i_data26);
            data27 <= mh7(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh3(i_data29);
            data30 <= mh2(i_data30);
            data31 <= 3'd0         ;
        end
    7'd84:begin
            data0  <= mh2(i_data0) ;
            data1  <= mh3(i_data1) ;
            data2  <= mh4(i_data2) ;
            data3  <= mh6(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= mh6(i_data5) ;
            data6  <= i_data6      ;
            data7  <= mh3(i_data7) ;
            data8  <= mh4(i_data8) ;
            data9  <= mh7(i_data9) ;
            data10 <= mh4(i_data10);
            data11 <= mh5(i_data11);
            data12 <= mh4(i_data12);
            data13 <= mh7(i_data13);
            data14 <= mh5(i_data14);
            data15 <= 3'd0         ;
            data16 <= mh7(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh3(i_data18);
            data19 <= mh5(i_data19);
            data20 <= mh5(i_data20);
            data21 <= mh4(i_data21);
            data22 <= i_data22     ;
            data23 <= mh7(i_data23);
            data24 <= mh7(i_data24);
            data25 <= mh7(i_data25);
            data26 <= mh2(i_data26);
            data27 <= mh5(i_data27);
            data28 <= mh5(i_data28);
            data29 <= 3'd0         ;
            data30 <= i_data30     ;
            data31 <= mh5(i_data31);
        end
    7'd85:begin
            data0  <= mh3(i_data0) ;
            data1  <= mh6(i_data1) ;
            data2  <= mh3(i_data2) ;
            data3  <= mh7(i_data3) ;
            data4  <= mh5(i_data4) ;
            data5  <= 3'd0         ;
            data6  <= i_data6      ;
            data7  <= i_data7      ;
            data8  <= mh3(i_data8) ;
            data9  <= i_data9      ;
            data10 <= mh6(i_data10);
            data11 <= mh7(i_data11);
            data12 <= i_data12     ;
            data13 <= mh4(i_data13);
            data14 <= mh7(i_data14);
            data15 <= mh5(i_data15);
            data16 <= mh5(i_data16);
            data17 <= mh3(i_data17);
            data18 <= mh2(i_data18);
            data19 <= i_data19     ;
            data20 <= mh6(i_data20);
            data21 <= mh2(i_data21);
            data22 <= mh7(i_data22);
            data23 <= mh5(i_data23);
            data24 <= mh6(i_data24);
            data25 <= mh3(i_data25);
            data26 <= mh5(i_data26);
            data27 <= mh4(i_data27);
            data28 <= mh4(i_data28);
            data29 <= mh5(i_data29);
            data30 <= 3'd0         ;
            data31 <= mh4(i_data31);
        end
7'd86:begin
            data0  <= mh6(i_data0) ;
            data1  <= mh2(i_data1) ;
            data2  <= mh4(i_data2) ;
            data3  <= mh4(i_data3) ;
            data4  <= 3'd0         ;
            data5  <= 3'd0         ;
            data6  <= mh4(i_data6) ;
            data7  <= mh5(i_data7) ;
            data8  <= mh5(i_data8) ;
            data9  <= mh5(i_data9) ;
            data10 <= 3'd0         ;
            data11 <= 3'd0         ;
            data12 <= 3'd0         ;
            data13 <= 3'd0         ;
            data14 <= 3'd0         ;
            data15 <= 3'd0         ;
            data16 <= 3'd0         ;
            data17 <= 3'd0         ;
            data18 <= 3'd0         ;
            data19 <= 3'd0         ;
            data20 <= 3'd0         ;
            data21 <= 3'd0         ;
            data22 <= 3'd0         ;
            data23 <= 3'd0         ;
            data24 <= 3'd0         ;
            data25 <= 3'd0         ;
            data26 <= 3'd0         ;
            data27 <= 3'd0         ;
            data28 <= 3'd0         ;
            data29 <= 3'd0         ;
            data30 <= 3'd0         ;
            data31 <= 3'd0         ;
        end
    default:begin
             data0  <= 3'd0         ;
             data1  <= 3'd0         ; 
             data2  <= 3'd0         ;
             data3  <= 3'd0         ;            
             data4  <= 3'd0         ;    
             data5  <= 3'd0         ;
             data6  <= 3'd0         ;
             data7  <= 3'd0         ;   
             data8  <= 3'd0         ;
             data9  <= 3'd0         ;
             data10 <= 3'd0         ;
             data11 <= 3'd0         ; 
             data12 <= 3'd0         ;
             data13 <= 3'd0         ;            
             data14 <= 3'd0         ;    
             data15 <= 3'd0         ;
             data16 <= 3'd0         ;
             data17 <= 3'd0         ;   
             data18 <= 3'd0         ;
             data19 <= 3'd0         ;
             data20 <= 3'd0         ;
             data21 <= 3'd0         ; 
             data22 <= 3'd0         ;
             data23 <= 3'd0         ;            
             data24 <= 3'd0         ;    
             data25 <= 3'd0         ;
             data26 <= 3'd0         ;
             data27 <= 3'd0         ;   
             data28 <= 3'd0         ;
             data29 <= 3'd0         ;
             data30 <= 3'd0         ;
             data31 <= 3'd0         ; 
          end
endcase end else begin
             data0  <= 3'd0         ;
             data1  <= 3'd0         ; 
             data2  <= 3'd0         ;
             data3  <= 3'd0         ;            
             data4  <= 3'd0         ;    
             data5  <= 3'd0         ;
             data6  <= 3'd0         ;
             data7  <= 3'd0         ;   
             data8  <= 3'd0         ;
             data9  <= 3'd0         ;
             data10 <= 3'd0         ;
             data11 <= 3'd0         ; 
             data12 <= 3'd0         ;
             data13 <= 3'd0         ;            
             data14 <= 3'd0         ;    
             data15 <= 3'd0         ;
             data16 <= 3'd0         ;
             data17 <= 3'd0         ;   
             data18 <= 3'd0         ;
             data19 <= 3'd0         ;
             data20 <= 3'd0         ;
             data21 <= 3'd0         ; 
             data22 <= 3'd0         ;
             data23 <= 3'd0         ;            
             data24 <= 3'd0         ;    
             data25 <= 3'd0         ;
             data26 <= 3'd0         ;
             data27 <= 3'd0         ;   
             data28 <= 3'd0         ;
             data29 <= 3'd0         ;
             data30 <= 3'd0         ;
             data31 <= 3'd0         ; 
          end
       
always@(posedge i_clk)
begin
    d0_data0  <= data0              ;
    d0_data1  <= data1              ; 
    d0_data2  <= data2              ;
    d0_data3  <= data3              ;            
    d0_data4  <= data4              ;    
    d0_data5  <= data5              ;
    d0_data6  <= data6              ;
    d0_data7  <= data7              ;   
    d0_data8  <= data8              ;
    d0_data9  <= data9              ;
    d0_data10 <= data10             ;
    d0_data11 <= data11             ; 
    d0_data12 <= data12             ;
    d0_data13 <= data13             ;            
    d0_data14 <= data14             ;    
    d0_data15 <= data15             ;
    d0_data16 <= data16             ;
    d0_data17 <= data17             ;   
    d0_data18 <= data18             ;
    d0_data19 <= data19             ;
    d0_data20 <= data20             ;
    d0_data21 <= data21             ; 
    d0_data22 <= data22             ;
    d0_data23 <= data23             ;            
    d0_data24 <= data24             ;    
    d0_data25 <= data25             ;
    d0_data26 <= data26             ;
    d0_data27 <= data27             ;   
    d0_data28 <= data28             ;
    d0_data29 <= data29             ;
    d0_data30 <= data30             ;
    d0_data31 <= data31             ; 
end

///////////////////////////////////////
//XOR the previous result
//Second-stage pipeline
///////////////////////////////////////
always@(d0_data0  or d0_data1 or d0_data2 or d0_data3 or d0_data4 or d0_data5 or d0_data6 or d0_data7 or d0_data8 or d0_data9 or d0_data10 or d0_data11 or d0_data12 or d0_data13 or d0_data14 or d0_data15 or d0_data16 or d0_data17 or d0_data18 or d0_data19 or d0_data20 or d0_data21 or d0_data22 or d0_data23 or d0_data24 or d0_data25 or d0_data26 or d0_data27 or d0_data28 or d0_data29 or d0_data30 or d0_data31)
begin 
    xor0  <= d0_data0  ^ d0_data1      ;
    xor1  <= d0_data2  ^ d0_data3      ;
    xor2  <= d0_data4  ^ d0_data5      ;
    xor3  <= d0_data6  ^ d0_data7      ;
    xor4  <= d0_data8  ^ d0_data9      ;
    xor5  <= d0_data10 ^ d0_data11     ;
    xor6  <= d0_data12 ^ d0_data13     ;
    xor7  <= d0_data14 ^ d0_data15     ;
    xor8  <= d0_data16 ^ d0_data17     ;
    xor9  <= d0_data18 ^ d0_data19     ;
    xor10 <= d0_data20 ^ d0_data21     ;
    xor11 <= d0_data22 ^ d0_data23     ;
    xor12 <= d0_data24 ^ d0_data25     ;
    xor13 <= d0_data26 ^ d0_data27     ;
    xor14 <= d0_data28 ^ d0_data29     ;
    xor15 <= d0_data30 ^ d0_data31     ;	 
end

always@(posedge i_clk)   
begin
    d1_xor0  <= xor0                   ;
    d1_xor1  <= xor1                   ;
    d1_xor2  <= xor2                   ;
    d1_xor3  <= xor3                   ;
    d1_xor4  <= xor4                   ;
    d1_xor5  <= xor5                   ;
    d1_xor6  <= xor6                   ;
    d1_xor7  <= xor7                   ;
    d1_xor8  <= xor8                   ;
    d1_xor9  <= xor9                   ;
    d1_xor10 <= xor10                  ;
    d1_xor11 <= xor11                  ;
    d1_xor12 <= xor12                  ;
    d1_xor13 <= xor13                  ;
    d1_xor14 <= xor14                  ;
    d1_xor15 <= xor15                  ;
end

///////////////////////////////////////
//XOR the previous result
//Third-stage pipeline
///////////////////////////////////////
always@(d1_xor0 or d1_xor1 or d1_xor2 or d1_xor3 or d1_xor4 or d1_xor5 or d1_xor6 or d1_xor7 or d1_xor8 or d1_xor9 or d1_xor10 or d1_xor11 or d1_xor12 or d1_xor13 or d1_xor14 or d1_xor15)
begin
    xor0_1   <= d1_xor0  ^ d1_xor1      ;
    xor2_3   <= d1_xor2  ^ d1_xor3      ;
    xor4_5   <= d1_xor4  ^ d1_xor5      ;
    xor6_7   <= d1_xor6  ^ d1_xor7      ;
    xor8_9   <= d1_xor8  ^ d1_xor9      ;
    xor10_11 <= d1_xor10 ^ d1_xor11     ;
    xor12_13 <= d1_xor12 ^ d1_xor13     ;
    xor14_15 <= d1_xor14 ^ d1_xor15     ;	 
end

always@(posedge i_clk)   
begin
    d2_xor0 <= xor0_1                 ;
    d2_xor1 <= xor2_3                 ;
    d2_xor2 <= xor4_5                 ;
    d2_xor3 <= xor6_7                 ;
    d2_xor4 <= xor8_9                 ;
    d2_xor5 <= xor10_11               ;
    d2_xor6 <= xor12_13               ;
    d2_xor7 <= xor14_15               ;
end

///////////////////////////////////////
//XOR the previous result
//Fourth-stage pipeline
///////////////////////////////////////
always@(d2_xor0 or d2_xor1 or d2_xor2 or d2_xor3 or d2_xor4 or d2_xor5 or d2_xor6 or d2_xor7)
begin
    xor0_3   <= d2_xor0 ^ d2_xor1       ;
    xor4_7   <= d2_xor2 ^ d2_xor3       ;
    xor8_11  <= d2_xor4 ^ d2_xor5       ;
    xor12_15 <= d2_xor6 ^ d2_xor7       ;
end

always@(posedge i_clk)
begin
    d3_xor0 <= xor0_3                   ;
    d3_xor1 <= xor4_7                   ;
    d3_xor2 <= xor8_11                  ;
    d3_xor3 <= xor12_15                 ;	 
end

///////////////////////////////////////
//XOR the previous result
//Fifth-stage pipeline
///////////////////////////////////////
always@(d3_xor0 or d3_xor1 or d3_xor2 or d3_xor3)
begin
    xor0_7  <= d3_xor0 ^ d3_xor1       ;
    xor8_15 <= d3_xor2 ^ d3_xor3       ;	 	 
end

always@(posedge i_clk)
begin
    d4_xor0 <= xor0_7                  ;
    d4_xor1 <= xor8_15                 ;	 
end

///////////////////////////////////////
//XOR the previous result
///////////////////////////////////////
always@(d4_xor0 or d4_xor1 or i_cnt)
if(i_cnt == 7'd0)
    xor0_15 <= 3'd0                    ;
else
    xor0_15 <= d4_xor0 ^ d4_xor1       ;

always@(posedge i_clk)
begin
    d5_xor0 <= xor0_15                  ;
end
///////////////////////////////////////
//Save the XOR result and XOR again with the result of the next stage
///////////////////////////////////////
always@(posedge i_clk or negedge i_rst_n)
begin
    if(i_rst_n == 1'b0) begin
        o_data <= 3'd0                 ;
    end else if((i_cnt ==7'd100)||(i_cnt ==7'd0)) begin
        o_data <= 3'd0                 ;	  
    end else begin
        o_data <= o_data ^ d5_xor0     ;
    end
end

endmodule